package com.cda.pes.mapper;

import com.cda.pes.pojo.Product;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/** 处理商品数据持久层的接口*/
@Mapper
public interface ProductMapper {
    /**
     * 查询热销商品的前四名
     * @return 热销商品前四名的集合
     */
    List<Product> findHotList();

    /**
     * 根据商品id查询商品详情
     * @param id 商品id
     * @return 匹配的商品详情，如果没有匹配的数据则返回null
     */
    Product findById(Integer id);

    /**
     *  查询最新发布的前四个商品
     * @return  最新商品前四名的集合
     */
    List<Product> findLastedList();

    /**
     * 查询所有商品----不包含下架（逻辑删除）商品
     * @return  商品列表
     */
    List<Product> findAll();

    /**
     * 新增商品
     * @param product   商品内容
     * @return
     */
    Integer addProduct(Product product);

    /**
     * 修改商品
     * @param product   商品详情
     * @return  受影响行数
     */
    Integer updateProductById(Product product);

    Integer deleteProduct(Integer id);

    /**
     * 根据类型查询所有商品（下架商品不包括）
     * @return  商品列表
     */
    List<Product> findAllByType(String typename);
}
